package com.example.leetcode;

import java.util.HashMap;
import java.util.Map;

public class SumArray {
    public static int sub(int[] num,int k){
        if (num==null){
            return 0;
        }
        //数字累加
        Map<Integer,Integer> map = new HashMap<>();
        for (int i=1;i<num.length;i++){
            num[i]+=num[i-1];
        }
        int ans=0;
        int temp=0;
        map.put(0,1);
        for (int i=0;i<num.length;i++){
            //判断有没有数之和的
            if(map.containsKey(num[i]-k)){
                ans+=map.get(num[i]-k);
            }
            if (map.containsKey(num[i])){
                temp= map.get(num[i])+1;
                System.out.println(temp);
            }else {
                temp=1;
            }
            map.put(num[i],temp);
        }
        return ans;
    }

    public static void main(String[] args) {
        int[] ab={2,3,0,0,3,2,3};
        System.out.println(sub(ab,5));
    }
}
